<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>
</head>

<body>
    <script type="text/javascript" src="2.JS变量和JS数据类型.js"> </script>
    <script>
        // console.log('AA' === NaN)//false
        // console.log(NaN == NaN)//false

        // console.log(isNaN(123)) //false
        // console.log(isNaN('123')) //false
        // console.log(isNaN('a123', 'a123')) //true
        // console.log(Number([12]))

        // ======================String
        // String
        // let a = 12;
        // console.log(a);

        // console.log('10' + 10);//1010
        // console.log('10' - 10);// 0
        // console.log('10px' + 10);//10px10
        // console.log('10px' * 10);//NaN
        // console.log('10px' - 10);//NaN

        // console.log(10 + null + true + [] + undefined + '珠峰' + null + [] + 10 + false); //11undefined珠峰null10false
        // console.log([]);

        // ======================String
        // 对象数据函数
        /*   let person = {
             name: '张三',
             age: 20,
             befaut: ['a', 'b', 'c'],
             2: 200
         }
           console.log(person.name);
            console.log(person['age']); //20
            console.log(person['befaut'][0]); //(3) ["a", "b", "c"]
            console.log(person['2']); */
        // console.log(person.2);//语法错误

        // 设置属性名 属性值；
        // 属性名不能重复，如果属性名已经存在，不属于新增属于修改属性值
        // 新增属性名
        /*       person.abc = '哈哈哈'
              console.log(person.abc); // 哈哈哈 */
        // 修改属性值
        /*       person.abc = '呵呵呵';
              console.log(person.abc); // 呵呵呵 */
        // 删除属性

        // 假删除
        /*        person.abc = null
               console.log(person); //{2: 200, name: "张三", age: 20, befaut: Array(3), abc: null} */
        // 真删除
        /*      delete person['abc'];
             console.log(person); //{2: 200, name: "张三", age: 20, befaut: Array(3)} */


        // ====================== 数组

        /*
        1. 我们中括号中设置的是属性值，它的属性名是默认生成的数字， 从零开始递增，从而这个数字代表每一项的位置，我们称其为‘索引’ ，  从零开始连续递增，
        代表每一项位置的数字属性名。
        2.天生默认一个属性名 length，存储数组的长度
         */
        // let arr = [12, '哈哈', true, 14]
        /* console.log(arr);
         console.log(arr.length); //数组长度
         console.log(arr['length']); //数组长度
         console.log(arr[0]); //第一项索引
         console.log(arr.length - 1); //最后一项索引-1
         */
        // arr[arr.length] = 100 ///向数组末尾追加内容
        // console.log(arr);
        // console.log(arr.length - 1);


    </script>
</body>

</html>